const MongoClient = require('mongodb').MongoClient;
const ObjectID = require('mongodb').ObjectID;
const DBurl = 'mongodb://127.0.0.1:27017/';

function connectDb(callback) {
    MongoClient.connect(DBurl, {
        useNewUrlParser: true
    }, (err, client) => {
        if (err) {
            console.log(err)
            console.log('数据连接失败');
            return false;
        }
        let db = client.db("productmanage"); /*获取db对象*/

        callback(db)
        client.close();
    })
}

exports.ObjectID = ObjectID;

//查找数据
exports.find = function (collectionname, json, callback) {
    connectDb(function (db) {
        var result = db.collection(collectionname).find(json);

        result.toArray(function (error, data) {
            callback(error, data) //拿到数据执行回调函数
        })
    })
}
//增加数据
exports.insert = function (collectionname, json, callback) {
    connectDb(function (db) {
        db.collection(collectionname).insertOne(json, function (error, data) {
            callback(error, data)
        })
    })
}
//修改数据
exports.update = function (collectionname, json1, json2, callback) {
    connectDb(function (db) {
        db.collection(collectionname).updateOne(json1, {
            $set: json2
        }, function (error, data) {
            callback(error, data)
        })
    })
}
//删除数据
exports.deleteOne = function (collectionname, json, callback) {
    connectDb(function (db) {
        db.collection(collectionname).deleteOne(json, function (error, data) {
            callback(error, data)
        })
    })
}